package com.yycx.module.bus.provider.service.lc;


import com.yycx.common.security.OpenUser;
import com.yycx.module.bus.client.entity.hy.BusErpOrderDetails;

import java.util.List;
import java.util.Map;


public interface SyncVoucherService {
    /**
     * description: 选择订单生成凭证
     * date: 2023年-02月-10日 09:05
     * author: ldd
     *
     * @param orderNos
     * @return void
     */
    void createVoucher(Long companyId,List<String> orderNos, String orderType, OpenUser user, String date);

    /**
     * description: 合并订单生成凭证
     * date: 2023年-02月-10日 09:05
     * author: ldd
     *
     * @param orderNos
     * @return void
     */
    void mergeVoucher(Long companyId,List<String> orderNos, String orderType, OpenUser user, String date);

    /**
     * description: 生成样品凭证
     * date: 2023年-02月-10日 09:05
     * author: ldd
     *
     * @param month
     * @param list
     * @return void
     */
    void sampleVoucher(String month, List<BusErpOrderDetails> list, OpenUser user);


    void costVoucher(Map params);

    /**
     * description: 付款凭证
     * date: 2023年-02月-15日 16:40
     * author: ldd
     *
     * @param params
     * @return void
     */
    void createPayment(Map params);

    /**
     * description: 更新订单
     * date: 2023年-08月-15日 16:36
     * author: ldd
     *
     * @param params
     * @return void
     */
    void updateOrder(Map params);

    /**
     * description: 生成单张凭证
     * date: 2023年-12月-06日 20:48
     * author: ldd
     *
     * @param companyId
     * @param dbName
     * @param code
     * @param orderNos
     * @param orderType
     * @param user
     * @param day
     * @return void
     */
    void createVoucher(Long companyId,String dbName, String code, List<String> orderNos, String orderType, OpenUser user, String day);

    /**
     * description: 合并生成凭证
     * date: 2023年-12月-07日 17:12
     * author: ldd
     *
     * @param dbName
     * @param code
     * @param orderNos
     * @param orderType
     * @param user
     * @param day
     * @return void
     */
    void mergeVoucher(Long companyId,String dbName, String code, List<String> orderNos, String orderType, OpenUser user, String day);

    /**
     * description: 合并生成当月凭证
     * date: 2023年-12月-08日 13:58
     * author: ldd
     *
     * @param params
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    void monthVoucher(Long companyId,String dbName, String code, List<String> orderNos, String orderType, OpenUser user, String day);
}